1
Переход к компьютерному зрению: почему именно сверточные нейронные сети?
EvoClass-AI002Лекция 4
00:00

Переход к компьютерному зрению

Сегодня мы переходим от работы с простыми структурированными данными с помощью базовых линейных слоев к решению задач высокоразмерных изображений. Одно цветное изображение вносит значительную сложность, которую стандартные архитектуры не могут эффективно обрабатывать. Глубокое обучение для задач компьютерного зрения требует специализированного подхода: сверточная нейронная сеть (CNN).

1. Почему полностью связанные сети (FCN) не работают

В полносвязной сети каждый пиксель входных данных должен быть соединён с каждым нейроном последующего слоя. Для изображений высокого разрешения это приводит к взрывному росту вычислительных затрат, делая обучение невозможным, а обобщение — плохим из-за экстремального переобучения.

  • Размер входных данных:Стандартное изображение размером $224 \times 224$ в формате RGB даёт $150\,528$ признаков на входе ($224 \times 224 \times 3$).
  • Размер скрытого слоя:Если первый скрытый слой использует 1024 нейрона.
  • Общее количество параметров (первый слой):Примерно $154$ миллионов весов ($150\,528 \times 1024$) только для первого блока соединений, что требует огромного объёма памяти и времени вычислений.
Решение с помощью сверточных сетей
Сверточные сети решают проблему масштабирования полносвязных сетей, используя пространственную структуру изображений. Они выявляют паттерны (например, края или изгибы), применяя маленькие фильтры, что снижает количество параметров на порядки и повышает устойчивость модели.
comparison.py
ТЕРМИНАЛbash — model-env
> Готово. Нажмите «Запустить», чтобы выполнить.
>
ИНСПЕКТОР ЭФФЕКТИВНОСТИ ПАРАМЕТРОВВ реальном времени

Запустите сравнение, чтобы визуализировать количество параметров.
Вопрос 1
Какова основная выгода использования локальных областей восприятияв сверточных сетях?
Фильтры сосредоточены только на небольшой, локальной области входного изображения.
Это позволяет сети обрабатывать всё изображение сразу целиком.
Это гарантирует, что все параметры инициализируются нулём.
Это устраняет необходимость использования функций активации.
Вопрос 2
Если фильтр размером $3 \times 3$ применяется ко всему изображению, то какая ключевая концепция CNN используется?
Нормализация ядра
Общие веса
Полная связность
Транспонирование признаков
Вопрос 3
Какой компонент сверточной сети отвечает за постепенное уменьшение пространственных размеров (ширины и высоты) карт признаков?
Активация ReLU
Слои подвыборки (пулинг)
Нормализация по мини-выборке
Вызов: определение ключевых компонентов CNN
Связать механизмы CNN с их функциональными преимуществами.
Нам нужно создать модель компьютерного зрения, которая высокоэффективна по количеству параметров и может распознавать объект даже при небольшом смещении его положения на изображении.
Шаг 1
Какой механизм гарантирует, что сеть может распознать особенность (например, диагональную линию), независимо от её положения в кадре?
Решение:
Общие веса. Используя один и тот же фильтр во всех местах, сеть учится быть инвариантной к сдвигам.
Шаг 2
Какой архитектурный выбор позволяет CNN обнаруживать признаки с меньшим количеством параметров, чем полносвязная сеть?
Решение:
Локальные области восприятия (или разреженная связность). Вместо подключения ко всем пикселям каждый нейрон подключается только к небольшой локальной области входных данных.
Шаг 3
Как архитектура CNN приводит к иерархическому обучению признаков (например, края → углы → объекты)?
Решение:
Сложенные слои. Ранние слои учат простые особенности (края) с помощью свёртки. Более глубокие слои комбинируют результаты предыдущих слоёв, образуя сложные, абстрактные признаки (объекты).